生信必会格式:SAM&BAM |
您所在的位置:网站首页 › windows sam文件查看 › 生信必会格式:SAM&BAM |
文章目录
前言
SAM一个小例子
Header 部分Alignment 部分必要部分Bitwise FlagMapQ (比对质量)CIGAR String
可选部分
BAMCRAM参考
前言
有时候,我学一些东西,看啊看啊,花了很长时间,觉得自己会了,然而到真正需要的时候,总会捉襟见肘,每每后悔当时为什么不实践😑 SAMSAM,表示 Sequence Alignment/Map format,以 TAB(制表符)为分隔符的文本文件,可以直接使用less 、head等命令查看。SAM分为两部分,注释信息(Header Section,optional)和比对结果部分 (Alignment Section),如果包含Header部分,Header部分必须在Alignment部分之前。 注释信息:SAM文件产生以及被处理过程的一个记录,规定必须以@开头,用不同的tag表示不同的信息,主要有:@HD,说明符合标准的版本、对比序列的排列顺序;@SQ,参考序列说明;@RG,比对上的序列(read)说明;@PG,使用的程序说明;@CO,任意的说明信息。 比对结果部分,每行必须有11个代表基本比对信息的字段(如比对位置),可选择性包含特定信息的其他字段(比较灵活) 一个小例子 @HD VN:1.0 SO:unsorted @SQ SN:chr1 LN:249250621 @SQ SN:chr2 LN:243199373 @PG ID:Bowtie VN:1.0.0 CL:"bowtie genome/hg19 -q reads/SRR3101251.fastq -m 1 -p 4 -S" SRR3101251.1 0 chr19 9486878 255 49M * 0 0 NTACTCCCACTACTCTCAGATTCAAGCAATCCTCCCACCCTAGCCCACC #1=DDDFFHHHHHIHHIJJJHIJIIJIHIFHJIIJJJJJJJIIJJJJJJ XA:i:1 MD:Z:0A48 NM:i:1 SRR3101251.5 16 chr2 240279787 255 49M * 0 0 CCTGAATCCATCAGAGCAGCCGGGCTGTGACACTCACTGTCATGATGTT JIJJIHIIIIJJJJJJJJJGHJJJJIIHJHICJIGCHHHHHFFFFFCCC XA:i:0 MD:Z:49 NM:i:0 SRR3101251.6 4 * 0 0 * * 0 0 NATTCCCACCTATGAGTGAGAATATGCGGTGTTTGGTTTTTTGTTCTTG #1=DDDFFHHHHHJJJGHIJJJJJJJJJJCGGIIJJIIJJJIJHJIIJJ XM:i:1 Header 部分上边例子中的Header只是比较有代表性的一部分,Header可以囊括好多好多信息,如果想了解,就翻译翻译下面的图片(截图于SAM格式官方文档),或者直接访问官网文档,里面有详尽的解释: 在我之前,已经有很多博主对官方文档进行了解释,所以我这里就不一一介绍每个位置了,只说明我认为常用的一部分 必要部分比对部分每行包括11个必须要有的字段,如下图,同样的,这里只重点介绍一部分,如果想详细了解,请参考官方文档 就是上图所示的FLAG部分,其每一个部分都可以在下图中找到含义,这部分字段在常规需要过滤的测序数据处理过程中经常会用到: FLAG的不同组合都会产生一个整数,大部分时候,人类不能一下子就明白该整数的含义,解释起来有点儿困难,所以有人为了方便,专门写了个网页工具:https://broadinstitute.github.io/picard/explain-flags.html,熟悉的人一下子就能看出,这个工具是开发Picard工具的团队制作的,方便生信工作者使用他们的工具过滤数据。 MapQ (比对质量)引用官方的定义: MAPQ: Mapping Quality. It equals -10 log10 Pr{mapping position is wrong}, rounded to the nearest integer. A value 255 indicates that the mapping quality is not available.简单解释一下就是: M A P Q = − 10 × log 10 ( 比对出错的概率 ) MAPQ= -10\times \log_{10}(比对出错的概率) MAPQ=−10×log10(比对出错的概率),然后近似为整数,255表示没有意义,就是用来占位的。从概率的角度来看,每个Read的比对都是对一个真实比对的估计,它是一个随机变量,可能存在错误。错误的概率可以用 Phred 来衡量。假设一条序列的MAPQ的值为mQ,P 表示reads比对错误的概率。如果mQ 的值为 30 ,那么P(比对错误率) 就是 0.1%。嗯……大概是这意思吧。 MapQ的值受算法影响,但都是值越大代表质量越好,在应用过程中经常通过MapQ值,对数据进行过滤,比如上边的例子,-q 20参数的设定就表示,只选择保留MapQ值大于等于 20 的序列,严格一般选 30,松一松就选 10。 CIGAR String怎么说呢,对于目前的我来说,“CIGAR String” 没有前面提到的两个用的频繁(可能,做可变剪接方向的大佬会用的多一点),只用过对Soft clipping 和 Hard clipping的筛选和分类。按照我的理解,这部分是对比对情况的“编码”,是一种简写的方式。首先定义**Op (operators) **,并将其与数字结合使用,以解释序列的哪一部分是mapped,哪一部分不是,以及两者之间的其他所有关系,而不是列出整个比对情况。Op的定义如下图所示,直接从一个网站上截的图: 根据Op的定义,就会得到: POS:5 CIGAR:3M1I3M1D5M意思就是从参考序列的五号位开始,有3个Match,接着1个Insertion,又3个Match,1个Deletion,然后5个Match 还有其他的部分我就不一一介绍了,还是那句话,感兴趣的直接看官方文档,或者其他博主的介绍 可选部分…………就先不填充内容了,有兴趣的可以直接去官方文档,或者其他博主的介绍哈 BAMBAM文件,内容和 SAM几乎一样,可以认为就是SAM文件的二进制编码(压缩)形式,意味着BAM有更小,读写速度更快。……此处省略N字(就不详细展开了) CRAM一种相对较新的格式,与BAM非常相似,它也保留了与SAM相同的信息并进行了压缩,但它存储信息的方式要智能得多。很有前途,如果感兴趣,可以阅读CRAM。 参考 https://samtools.github.io/hts-specs/SAMv1.pdfhttps://www.drive5.com/usearch/manual/cigar.htmlhttps://genome.sph.umich.edu/wiki/SAM#What_is_a_CIGAR.3Fhttps://samtools.github.io/hts-specs/CRAMv3.pdf |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |